package model.core.utente;

/**
 * 
 * @author Giuseppe Fusco (fusgius19@gmail.com)
 *
 */
public interface DomainModelObservable {

	public abstract void attach(DomainModelObserver observer);

	public abstract void detach(DomainModelObserver observer);

	public abstract void notifyUpdateCommand(DomainModelObserver observer);

	public abstract void notifyAllUpdateCommand();

	public abstract void notifyInsertCommand(DomainModelObserver observer);

	public abstract void notifyAllInsertCommand();

	public abstract void notifyDeleteCommand(DomainModelObserver observer);

	public abstract void notifyAllDeleteCommand();

	public abstract DomainModelObserver getObserver();

}
